// 工具函数统一管理

// 日期格式化
export function dateFormat(fmt, date) {
  let ret
  const opt = {
    'Y+': date.getFullYear().toString(),
    'm+': (date.getMonth() + 1).toString(),
    'd+': date.getDate().toString(),
    'H+': date.getHours().toString(),
    'M+': date.getMinutes().toString(),
    'S+': date.getSeconds().toString()
  }
  for (let k in opt) {
    ret = new RegExp('(' + k + ')').exec(fmt)
    if (ret) {
      fmt = fmt.replace(
        ret[1],
        ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
      )
    }
  }
  return fmt
}

// 颜色处理函数
export function colorDeal(num, type) {
  if (type === 1) {
    if (num > 55) {
      return 'rgb(233, 64, 65)'
    } else if (num < 40) {
      return 'rgb(5, 166, 135)'
    }
    return ''
  }
  return ''
}

// 数组处理函数
export function splitData(data, num) {
  const array = []
  if (data && data.klines) {
    data.klines.forEach(item => {
      array.push(item.split(',')[num])
    })
  }
  return array
}

// 累计数组计算
export function calculateAccumulatedArray(array) {
  return array.reduce((acc, val, index) => {
    const num = parseFloat(val)
    const prevSum = index > 0 ? parseFloat(acc[index - 1]) : 0
    const currentSum = (prevSum + num).toFixed(2)
    acc.push(currentSum)
    return acc
  }, [])
}